# -*- coding: utf-8 -*-
"""
@Time    : 2024/6/26 14:37 
@Author  : ZhangShenao 
@File    : 2.ChatModel批处理.py 
@Desc    : ChatModel批处理
"""
from datetime import datetime

from langchain_community.chat_models.moonshot import MoonshotChat
from langchain_core.prompts import ChatPromptTemplate

# 编排Prompt
chat_prompt_template = ChatPromptTemplate.from_messages([
    ('system', '你是Moonshot开发的AI聊天机器人，请根据用户的提问，生成相应的回答。现在的时间是：{now}'),
    ('human', '{query}'),
]).partial(now=datetime.now())

# 生成消息列表
msgs = [
    chat_prompt_template.invoke({
        'query': '将帮我生成一首宋词',
    }),
    chat_prompt_template.invoke({
        'query': '将帮我生成一首唐诗',
    }),
]

# 创建ChatModel大语言模型
llm = MoonshotChat(model='moonshot-v1-8k')

# 执行batch()函数执行批处理
outputs = llm.batch(msgs)

# 打印响应内容
for output in outputs:
    print(f'响应内容: {output.content}')
    print(f'响应消息类型: {output.type}')
    print(f'响应元数据: {output.response_metadata}')
